{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import graphviz\n",
    "from IPython.display import display\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn import tree\n",
    "from sklearn.model_selection import cross_val_score as CVS\n",
    "from sklearn.metrics import auc, plot_roc_curve, confusion_matrix, classification_report\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Import dataset\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(291, 4)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>电量趋势下降指标</th>\n",
       "      <th>线损指标</th>\n",
       "      <th>告警类指标</th>\n",
       "      <th>是否窃漏电</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   电量趋势下降指标  线损指标  告警类指标  是否窃漏电\n",
       "0         4     1      1      1\n",
       "1         4     0      4      1\n",
       "2         2     1      1      1\n",
       "3         9     0      0      0\n",
       "4         3     1      0      0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = pd.read_excel('dataset.xls')\n",
    "print(data.shape)\n",
    "display(data.head())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (1) Train/Test sets split\n",
    "- 数据划分 取30%做测试样本，剩下做训练样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "shape of X_train:  (203, 3)\n",
      "shape of X_test:  (88, 3)\n"
     ]
    }
   ],
   "source": [
    "X, y = data.iloc[:, :3], data.iloc[:, 3:4]\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=98)\n",
    "\n",
    "print('shape of X_train: ', X_train.shape)\n",
    "print('shape of X_test: ', X_test.shape)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (2) Decision Tree\n",
    "- 使用CART决策树（分类树）进行建模"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.875"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf = tree.DecisionTreeClassifier()\n",
    "clf.fit(X_train, y_train)\n",
    "Y_pred = clf.predict(X_test)\n",
    "clf.score(X_test, y_test)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 决策树视觉化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
       " -->\n",
       "<!-- Title: Tree Pages: 1 -->\n",
       "<svg width=\"1330pt\" height=\"1147pt\"\n",
       " viewBox=\"0.00 0.00 1329.50 1147.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 1143)\">\n",
       "<title>Tree</title>\n",
       "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-1143 1325.5,-1143 1325.5,4 -4,4\"/>\n",
       "<!-- 0 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>0</title>\n",
       "<polygon fill=\"#e99559\" stroke=\"#000000\" points=\"906,-1139 737,-1139 737,-1056 906,-1056 906,-1139\"/>\n",
       "<text text-anchor=\"middle\" x=\"821.5\" y=\"-1123.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 4.5</text>\n",
       "<text text-anchor=\"middle\" x=\"821.5\" y=\"-1108.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.238</text>\n",
       "<text text-anchor=\"middle\" x=\"821.5\" y=\"-1093.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 203</text>\n",
       "<text text-anchor=\"middle\" x=\"821.5\" y=\"-1078.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [175, 28]</text>\n",
       "<text text-anchor=\"middle\" x=\"821.5\" y=\"-1063.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>1</title>\n",
       "<polygon fill=\"#e78945\" stroke=\"#000000\" points=\"816,-1020 689,-1020 689,-937 816,-937 816,-1020\"/>\n",
       "<text text-anchor=\"middle\" x=\"752.5\" y=\"-1004.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 3.5</text>\n",
       "<text text-anchor=\"middle\" x=\"752.5\" y=\"-989.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.11</text>\n",
       "<text text-anchor=\"middle\" x=\"752.5\" y=\"-974.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 171</text>\n",
       "<text text-anchor=\"middle\" x=\"752.5\" y=\"-959.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [161, 10]</text>\n",
       "<text text-anchor=\"middle\" x=\"752.5\" y=\"-944.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 0&#45;&gt;1 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>0&#45;&gt;1</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M797.3671,-1055.8796C792.3539,-1047.2335 787.0187,-1038.0322 781.8419,-1029.1042\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"784.7798,-1027.1934 776.7359,-1020.2981 778.7242,-1030.7047 784.7798,-1027.1934\"/>\n",
       "<text text-anchor=\"middle\" x=\"770.3103\" y=\"-1040.7582\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">True</text>\n",
       "</g>\n",
       "<!-- 32 -->\n",
       "<g id=\"node33\" class=\"node\">\n",
       "<title>32</title>\n",
       "<polygon fill=\"#d3e9f9\" stroke=\"#000000\" points=\"947,-1020 834,-1020 834,-937 947,-937 947,-1020\"/>\n",
       "<text text-anchor=\"middle\" x=\"890.5\" y=\"-1004.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">线损指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"890.5\" y=\"-989.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.492</text>\n",
       "<text text-anchor=\"middle\" x=\"890.5\" y=\"-974.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 32</text>\n",
       "<text text-anchor=\"middle\" x=\"890.5\" y=\"-959.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [14, 18]</text>\n",
       "<text text-anchor=\"middle\" x=\"890.5\" y=\"-944.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 0&#45;&gt;32 -->\n",
       "<g id=\"edge32\" class=\"edge\">\n",
       "<title>0&#45;&gt;32</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M845.6329,-1055.8796C850.6461,-1047.2335 855.9813,-1038.0322 861.1581,-1029.1042\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"864.2758,-1030.7047 866.2641,-1020.2981 858.2202,-1027.1934 864.2758,-1030.7047\"/>\n",
       "<text text-anchor=\"middle\" x=\"872.6897\" y=\"-1040.7582\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">False</text>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>2</title>\n",
       "<polygon fill=\"#e68640\" stroke=\"#000000\" points=\"633,-901 464,-901 464,-818 633,-818 633,-901\"/>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-885.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 3.5</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-870.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.07</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-855.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 166</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-840.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [160, 6]</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-825.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 1&#45;&gt;2 -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>1&#45;&gt;2</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M688.7923,-941.3371C669.7489,-930.2285 648.6223,-917.9047 628.6658,-906.2634\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"630.2949,-903.1617 619.8935,-901.1462 626.7677,-909.2082 630.2949,-903.1617\"/>\n",
       "</g>\n",
       "<!-- 27 -->\n",
       "<g id=\"node28\" class=\"node\">\n",
       "<title>27</title>\n",
       "<polygon fill=\"#6ab6ec\" stroke=\"#000000\" points=\"811,-901 698,-901 698,-818 811,-818 811,-901\"/>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-885.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">线损指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-870.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.32</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-855.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 5</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-840.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 4]</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-825.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 1&#45;&gt;27 -->\n",
       "<g id=\"edge27\" class=\"edge\">\n",
       "<title>1&#45;&gt;27</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M753.1995,-936.8796C753.3372,-928.6838 753.4834,-919.9891 753.626,-911.5013\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"757.1289,-911.3555 753.7975,-901.2981 750.1299,-911.2378 757.1289,-911.3555\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>3</title>\n",
       "<polygon fill=\"#e5833c\" stroke=\"#000000\" points=\"421,-782 294,-782 294,-699 421,-699 421,-782\"/>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-766.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 2.5</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-751.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.031</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-736.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 129</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-721.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [127, 2]</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-706.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 2&#45;&gt;3 -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>2&#45;&gt;3</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M481.6975,-817.8796C464.9333,-807.4349 446.8684,-796.1798 429.8478,-785.5753\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"431.3929,-782.4143 421.0546,-780.0969 427.6913,-788.3555 431.3929,-782.4143\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g id=\"node19\" class=\"node\">\n",
       "<title>18</title>\n",
       "<polygon fill=\"#e89051\" stroke=\"#000000\" points=\"612,-782 485,-782 485,-699 612,-699 612,-782\"/>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-766.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-751.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.193</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-736.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 37</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-721.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [33, 4]</text>\n",
       "<text text-anchor=\"middle\" x=\"548.5\" y=\"-706.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 2&#45;&gt;18 -->\n",
       "<g id=\"edge18\" class=\"edge\">\n",
       "<title>2&#45;&gt;18</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M548.5,-817.8796C548.5,-809.6838 548.5,-800.9891 548.5,-792.5013\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"552.0001,-792.298 548.5,-782.2981 545.0001,-792.2981 552.0001,-792.298\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>4</title>\n",
       "<polygon fill=\"#e5823b\" stroke=\"#000000\" points=\"255,-663 142,-663 142,-580 255,-580 255,-663\"/>\n",
       "<text text-anchor=\"middle\" x=\"198.5\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">线损指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"198.5\" y=\"-632.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.016</text>\n",
       "<text text-anchor=\"middle\" x=\"198.5\" y=\"-617.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 123</text>\n",
       "<text text-anchor=\"middle\" x=\"198.5\" y=\"-602.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [122, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"198.5\" y=\"-587.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 3&#45;&gt;4 -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>3&#45;&gt;4</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M301.8895,-698.8796C289.0597,-689.2774 275.3148,-678.9903 262.1714,-669.1534\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"264.1823,-666.2868 254.0791,-663.0969 259.9879,-671.891 264.1823,-666.2868\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g id=\"node16\" class=\"node\">\n",
       "<title>15</title>\n",
       "<polygon fill=\"#ea9a61\" stroke=\"#000000\" points=\"442,-663 273,-663 273,-580 442,-580 442,-663\"/>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 2.5</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-632.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.278</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-617.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 6</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-602.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [5, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"357.5\" y=\"-587.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 3&#45;&gt;15 -->\n",
       "<g id=\"edge15\" class=\"edge\">\n",
       "<title>3&#45;&gt;15</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M357.5,-698.8796C357.5,-690.6838 357.5,-681.9891 357.5,-673.5013\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"361.0001,-673.298 357.5,-663.2981 354.0001,-673.2981 361.0001,-673.298\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>5</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"99,-536.5 0,-536.5 0,-468.5 99,-468.5 99,-536.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"49.5\" y=\"-521.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"49.5\" y=\"-506.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 69</text>\n",
       "<text text-anchor=\"middle\" x=\"49.5\" y=\"-491.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [69, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"49.5\" y=\"-476.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 4&#45;&gt;5 -->\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>4&#45;&gt;5</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M146.387,-579.8796C131.5174,-568.0038 115.336,-555.0804 100.5317,-543.2568\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"102.4638,-540.3207 92.4658,-536.8149 98.0954,-545.7904 102.4638,-540.3207\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>6</title>\n",
       "<polygon fill=\"#e5833d\" stroke=\"#000000\" points=\"286,-544 117,-544 117,-461 286,-461 286,-544\"/>\n",
       "<text text-anchor=\"middle\" x=\"201.5\" y=\"-528.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 1.5</text>\n",
       "<text text-anchor=\"middle\" x=\"201.5\" y=\"-513.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.036</text>\n",
       "<text text-anchor=\"middle\" x=\"201.5\" y=\"-498.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 54</text>\n",
       "<text text-anchor=\"middle\" x=\"201.5\" y=\"-483.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [53, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"201.5\" y=\"-468.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 4&#45;&gt;6 -->\n",
       "<g id=\"edge6\" class=\"edge\">\n",
       "<title>4&#45;&gt;6</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M199.5493,-579.8796C199.7559,-571.6838 199.9751,-562.9891 200.189,-554.5013\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"203.693,-554.3831 200.4463,-544.2981 196.6953,-554.2067 203.693,-554.3831\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g id=\"node8\" class=\"node\">\n",
       "<title>7</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"175,-417.5 76,-417.5 76,-349.5 175,-349.5 175,-417.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"125.5\" y=\"-402.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"125.5\" y=\"-387.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 27</text>\n",
       "<text text-anchor=\"middle\" x=\"125.5\" y=\"-372.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [27, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"125.5\" y=\"-357.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 6&#45;&gt;7 -->\n",
       "<g id=\"edge7\" class=\"edge\">\n",
       "<title>6&#45;&gt;7</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M174.9189,-460.8796C167.826,-449.7735 160.1479,-437.7513 153.0063,-426.5691\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"155.7477,-424.3589 147.4154,-417.8149 149.8482,-428.1267 155.7477,-424.3589\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g id=\"node9\" class=\"node\">\n",
       "<title>8</title>\n",
       "<polygon fill=\"#e68641\" stroke=\"#000000\" points=\"362,-425 193,-425 193,-342 362,-342 362,-425\"/>\n",
       "<text text-anchor=\"middle\" x=\"277.5\" y=\"-409.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 2.5</text>\n",
       "<text text-anchor=\"middle\" x=\"277.5\" y=\"-394.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.071</text>\n",
       "<text text-anchor=\"middle\" x=\"277.5\" y=\"-379.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 27</text>\n",
       "<text text-anchor=\"middle\" x=\"277.5\" y=\"-364.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [26, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"277.5\" y=\"-349.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 6&#45;&gt;8 -->\n",
       "<g id=\"edge8\" class=\"edge\">\n",
       "<title>6&#45;&gt;8</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M228.0811,-460.8796C233.6605,-452.1434 239.6019,-442.8404 245.3595,-433.8253\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"248.3726,-435.6098 250.8054,-425.2981 242.4731,-431.8421 248.3726,-435.6098\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g id=\"node10\" class=\"node\">\n",
       "<title>9</title>\n",
       "<polygon fill=\"#e88e4d\" stroke=\"#000000\" points=\"275,-306 148,-306 148,-223 275,-223 275,-306\"/>\n",
       "<text text-anchor=\"middle\" x=\"211.5\" y=\"-290.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"211.5\" y=\"-275.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.165</text>\n",
       "<text text-anchor=\"middle\" x=\"211.5\" y=\"-260.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 11</text>\n",
       "<text text-anchor=\"middle\" x=\"211.5\" y=\"-245.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [10, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"211.5\" y=\"-230.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 8&#45;&gt;9 -->\n",
       "<g id=\"edge9\" class=\"edge\">\n",
       "<title>8&#45;&gt;9</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M254.4164,-341.8796C249.6211,-333.2335 244.5178,-324.0322 239.5662,-315.1042\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"242.5931,-313.3455 234.6821,-306.2981 236.4716,-316.7407 242.5931,-313.3455\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g id=\"node15\" class=\"node\">\n",
       "<title>14</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"392,-298.5 293,-298.5 293,-230.5 392,-230.5 392,-298.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"342.5\" y=\"-283.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"342.5\" y=\"-268.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 16</text>\n",
       "<text text-anchor=\"middle\" x=\"342.5\" y=\"-253.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [16, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"342.5\" y=\"-238.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 8&#45;&gt;14 -->\n",
       "<g id=\"edge14\" class=\"edge\">\n",
       "<title>8&#45;&gt;14</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M300.2338,-341.8796C306.2401,-330.8835 312.737,-318.9893 318.7933,-307.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"322.0345,-309.2689 323.7565,-298.8149 315.8912,-305.9133 322.0345,-309.2689\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g id=\"node11\" class=\"node\">\n",
       "<title>10</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"193.5,-179.5 101.5,-179.5 101.5,-111.5 193.5,-111.5 193.5,-179.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"147.5\" y=\"-164.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"147.5\" y=\"-149.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 5</text>\n",
       "<text text-anchor=\"middle\" x=\"147.5\" y=\"-134.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [5, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"147.5\" y=\"-119.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 9&#45;&gt;10 -->\n",
       "<g id=\"edge10\" class=\"edge\">\n",
       "<title>9&#45;&gt;10</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M189.1159,-222.8796C183.202,-211.8835 176.8051,-199.9893 170.842,-188.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"173.7742,-186.9642 165.9551,-179.8149 167.6092,-190.2799 173.7742,-186.9642\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g id=\"node12\" class=\"node\">\n",
       "<title>11</title>\n",
       "<polygon fill=\"#ea9a61\" stroke=\"#000000\" points=\"339,-187 212,-187 212,-104 339,-104 339,-187\"/>\n",
       "<text text-anchor=\"middle\" x=\"275.5\" y=\"-171.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 1.5</text>\n",
       "<text text-anchor=\"middle\" x=\"275.5\" y=\"-156.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.278</text>\n",
       "<text text-anchor=\"middle\" x=\"275.5\" y=\"-141.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 6</text>\n",
       "<text text-anchor=\"middle\" x=\"275.5\" y=\"-126.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [5, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"275.5\" y=\"-111.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 9&#45;&gt;11 -->\n",
       "<g id=\"edge11\" class=\"edge\">\n",
       "<title>9&#45;&gt;11</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M233.8841,-222.8796C238.4856,-214.3236 243.3796,-205.2238 248.1342,-196.3833\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.3662,-197.763 253.0204,-187.2981 245.2012,-194.4473 251.3662,-197.763\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g id=\"node13\" class=\"node\">\n",
       "<title>12</title>\n",
       "<polygon fill=\"#eeab7b\" stroke=\"#000000\" points=\"266.5,-68 174.5,-68 174.5,0 266.5,0 266.5,-68\"/>\n",
       "<text text-anchor=\"middle\" x=\"220.5\" y=\"-52.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.375</text>\n",
       "<text text-anchor=\"middle\" x=\"220.5\" y=\"-37.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 4</text>\n",
       "<text text-anchor=\"middle\" x=\"220.5\" y=\"-22.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [3, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"220.5\" y=\"-7.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 11&#45;&gt;12 -->\n",
       "<g id=\"edge12\" class=\"edge\">\n",
       "<title>11&#45;&gt;12</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M255.02,-103.9815C250.7585,-95.3423 246.256,-86.2144 241.9603,-77.5059\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"244.9641,-75.6836 237.4014,-68.2637 238.6863,-78.7803 244.9641,-75.6836\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g id=\"node14\" class=\"node\">\n",
       "<title>13</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"376.5,-68 284.5,-68 284.5,0 376.5,0 376.5,-68\"/>\n",
       "<text text-anchor=\"middle\" x=\"330.5\" y=\"-52.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"330.5\" y=\"-37.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 2</text>\n",
       "<text text-anchor=\"middle\" x=\"330.5\" y=\"-22.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [2, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"330.5\" y=\"-7.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 11&#45;&gt;13 -->\n",
       "<g id=\"edge13\" class=\"edge\">\n",
       "<title>11&#45;&gt;13</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M295.98,-103.9815C300.2415,-95.3423 304.744,-86.2144 309.0397,-77.5059\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"312.3137,-78.7803 313.5986,-68.2637 306.0359,-75.6836 312.3137,-78.7803\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g id=\"node17\" class=\"node\">\n",
       "<title>16</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"401.5,-536.5 309.5,-536.5 309.5,-468.5 401.5,-468.5 401.5,-536.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"355.5\" y=\"-521.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"355.5\" y=\"-506.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 4</text>\n",
       "<text text-anchor=\"middle\" x=\"355.5\" y=\"-491.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [4, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"355.5\" y=\"-476.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 15&#45;&gt;16 -->\n",
       "<g id=\"edge16\" class=\"edge\">\n",
       "<title>15&#45;&gt;16</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M356.8005,-579.8796C356.6212,-569.2134 356.4278,-557.7021 356.2462,-546.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"359.7444,-546.7547 356.0767,-536.8149 352.7454,-546.8724 359.7444,-546.7547\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g id=\"node18\" class=\"node\">\n",
       "<title>17</title>\n",
       "<polygon fill=\"#ffffff\" stroke=\"#000000\" points=\"511.5,-536.5 419.5,-536.5 419.5,-468.5 511.5,-468.5 511.5,-536.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"465.5\" y=\"-521.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"465.5\" y=\"-506.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 2</text>\n",
       "<text text-anchor=\"middle\" x=\"465.5\" y=\"-491.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"465.5\" y=\"-476.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 15&#45;&gt;17 -->\n",
       "<g id=\"edge17\" class=\"edge\">\n",
       "<title>15&#45;&gt;17</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M395.2732,-579.8796C405.7518,-568.3337 417.1291,-555.7976 427.6141,-544.2446\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"430.2282,-546.5722 434.357,-536.8149 425.0447,-541.8678 430.2282,-546.5722\"/>\n",
       "</g>\n",
       "<!-- 19 -->\n",
       "<g id=\"node20\" class=\"node\">\n",
       "<title>19</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"559,-655.5 460,-655.5 460,-587.5 559,-587.5 559,-655.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"509.5\" y=\"-640.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"509.5\" y=\"-625.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 18</text>\n",
       "<text text-anchor=\"middle\" x=\"509.5\" y=\"-610.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [18, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"509.5\" y=\"-595.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 18&#45;&gt;19 -->\n",
       "<g id=\"edge19\" class=\"edge\">\n",
       "<title>18&#45;&gt;19</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M534.8597,-698.8796C531.328,-688.1034 527.5136,-676.4647 523.9424,-665.5677\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"527.1864,-664.2276 520.7461,-655.8149 520.5345,-666.4077 527.1864,-664.2276\"/>\n",
       "</g>\n",
       "<!-- 20 -->\n",
       "<g id=\"node21\" class=\"node\">\n",
       "<title>20</title>\n",
       "<polygon fill=\"#eca36e\" stroke=\"#000000\" points=\"690,-663 577,-663 577,-580 690,-580 690,-663\"/>\n",
       "<text text-anchor=\"middle\" x=\"633.5\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">线损指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"633.5\" y=\"-632.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.332</text>\n",
       "<text text-anchor=\"middle\" x=\"633.5\" y=\"-617.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 19</text>\n",
       "<text text-anchor=\"middle\" x=\"633.5\" y=\"-602.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [15, 4]</text>\n",
       "<text text-anchor=\"middle\" x=\"633.5\" y=\"-587.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 18&#45;&gt;20 -->\n",
       "<g id=\"edge20\" class=\"edge\">\n",
       "<title>18&#45;&gt;20</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M578.2289,-698.8796C584.5333,-690.0534 591.251,-680.6485 597.7524,-671.5466\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"600.6799,-673.4698 603.6442,-663.2981 594.9837,-669.4011 600.6799,-673.4698\"/>\n",
       "</g>\n",
       "<!-- 21 -->\n",
       "<g id=\"node22\" class=\"node\">\n",
       "<title>21</title>\n",
       "<polygon fill=\"#e89152\" stroke=\"#000000\" points=\"677,-544 550,-544 550,-461 677,-461 677,-544\"/>\n",
       "<text text-anchor=\"middle\" x=\"613.5\" y=\"-528.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 1.5</text>\n",
       "<text text-anchor=\"middle\" x=\"613.5\" y=\"-513.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.198</text>\n",
       "<text text-anchor=\"middle\" x=\"613.5\" y=\"-498.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 9</text>\n",
       "<text text-anchor=\"middle\" x=\"613.5\" y=\"-483.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [8, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"613.5\" y=\"-468.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 20&#45;&gt;21 -->\n",
       "<g id=\"edge21\" class=\"edge\">\n",
       "<title>20&#45;&gt;21</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M626.505,-579.8796C625.1124,-571.5938 623.6341,-562.798 622.1927,-554.2216\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"625.634,-553.5796 620.5249,-544.2981 618.7308,-554.7399 625.634,-553.5796\"/>\n",
       "</g>\n",
       "<!-- 24 -->\n",
       "<g id=\"node25\" class=\"node\">\n",
       "<title>24</title>\n",
       "<polygon fill=\"#f0b78e\" stroke=\"#000000\" points=\"822,-544 695,-544 695,-461 822,-461 822,-544\"/>\n",
       "<text text-anchor=\"middle\" x=\"758.5\" y=\"-528.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 1.5</text>\n",
       "<text text-anchor=\"middle\" x=\"758.5\" y=\"-513.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.42</text>\n",
       "<text text-anchor=\"middle\" x=\"758.5\" y=\"-498.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 10</text>\n",
       "<text text-anchor=\"middle\" x=\"758.5\" y=\"-483.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [7, 3]</text>\n",
       "<text text-anchor=\"middle\" x=\"758.5\" y=\"-468.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 20&#45;&gt;24 -->\n",
       "<g id=\"edge24\" class=\"edge\">\n",
       "<title>20&#45;&gt;24</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M677.2189,-579.8796C686.8686,-570.6931 697.1766,-560.8798 707.0991,-551.4336\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"709.765,-553.7282 714.5945,-544.2981 704.9384,-548.6582 709.765,-553.7282\"/>\n",
       "</g>\n",
       "<!-- 22 -->\n",
       "<g id=\"node23\" class=\"node\">\n",
       "<title>22</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"558.5,-417.5 466.5,-417.5 466.5,-349.5 558.5,-349.5 558.5,-417.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"512.5\" y=\"-402.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"512.5\" y=\"-387.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 2</text>\n",
       "<text text-anchor=\"middle\" x=\"512.5\" y=\"-372.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [2, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"512.5\" y=\"-357.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 21&#45;&gt;22 -->\n",
       "<g id=\"edge22\" class=\"edge\">\n",
       "<title>21&#45;&gt;22</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M578.1751,-460.8796C568.469,-449.4436 557.9384,-437.0363 548.2107,-425.575\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"550.7638,-423.1743 541.6244,-417.8149 545.4269,-427.7039 550.7638,-423.1743\"/>\n",
       "</g>\n",
       "<!-- 23 -->\n",
       "<g id=\"node24\" class=\"node\">\n",
       "<title>23</title>\n",
       "<polygon fill=\"#e9965a\" stroke=\"#000000\" points=\"668.5,-417.5 576.5,-417.5 576.5,-349.5 668.5,-349.5 668.5,-417.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"622.5\" y=\"-402.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.245</text>\n",
       "<text text-anchor=\"middle\" x=\"622.5\" y=\"-387.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 7</text>\n",
       "<text text-anchor=\"middle\" x=\"622.5\" y=\"-372.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [6, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"622.5\" y=\"-357.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 21&#45;&gt;23 -->\n",
       "<g id=\"edge23\" class=\"edge\">\n",
       "<title>21&#45;&gt;23</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M616.6478,-460.8796C617.4545,-450.2134 618.3251,-438.7021 619.1419,-427.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"622.6405,-428.0504 619.9048,-417.8149 615.6605,-427.5225 622.6405,-428.0504\"/>\n",
       "</g>\n",
       "<!-- 25 -->\n",
       "<g id=\"node26\" class=\"node\">\n",
       "<title>25</title>\n",
       "<polygon fill=\"#f6d5bd\" stroke=\"#000000\" points=\"795.5,-417.5 703.5,-417.5 703.5,-349.5 795.5,-349.5 795.5,-417.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"749.5\" y=\"-402.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.48</text>\n",
       "<text text-anchor=\"middle\" x=\"749.5\" y=\"-387.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 5</text>\n",
       "<text text-anchor=\"middle\" x=\"749.5\" y=\"-372.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [3, 2]</text>\n",
       "<text text-anchor=\"middle\" x=\"749.5\" y=\"-357.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 24&#45;&gt;25 -->\n",
       "<g id=\"edge25\" class=\"edge\">\n",
       "<title>24&#45;&gt;25</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M755.3522,-460.8796C754.5455,-450.2134 753.6749,-438.7021 752.8581,-427.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"756.3395,-427.5225 752.0952,-417.8149 749.3595,-428.0504 756.3395,-427.5225\"/>\n",
       "</g>\n",
       "<!-- 26 -->\n",
       "<g id=\"node27\" class=\"node\">\n",
       "<title>26</title>\n",
       "<polygon fill=\"#eca06a\" stroke=\"#000000\" points=\"905.5,-417.5 813.5,-417.5 813.5,-349.5 905.5,-349.5 905.5,-417.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"859.5\" y=\"-402.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.32</text>\n",
       "<text text-anchor=\"middle\" x=\"859.5\" y=\"-387.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 5</text>\n",
       "<text text-anchor=\"middle\" x=\"859.5\" y=\"-372.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [4, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"859.5\" y=\"-357.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 24&#45;&gt;26 -->\n",
       "<g id=\"edge26\" class=\"edge\">\n",
       "<title>24&#45;&gt;26</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M793.8249,-460.8796C803.531,-449.4436 814.0616,-437.0363 823.7893,-425.575\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"826.5731,-427.7039 830.3756,-417.8149 821.2362,-423.1743 826.5731,-427.7039\"/>\n",
       "</g>\n",
       "<!-- 28 -->\n",
       "<g id=\"node29\" class=\"node\">\n",
       "<title>28</title>\n",
       "<polygon fill=\"#ffffff\" stroke=\"#000000\" points=\"839,-782 670,-782 670,-699 839,-699 839,-782\"/>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-766.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 3.0</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-751.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-736.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 2</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-721.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-706.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 27&#45;&gt;28 -->\n",
       "<g id=\"edge28\" class=\"edge\">\n",
       "<title>27&#45;&gt;28</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M754.5,-817.8796C754.5,-809.6838 754.5,-800.9891 754.5,-792.5013\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"758.0001,-792.298 754.5,-782.2981 751.0001,-792.2981 758.0001,-792.298\"/>\n",
       "</g>\n",
       "<!-- 31 -->\n",
       "<g id=\"node32\" class=\"node\">\n",
       "<title>31</title>\n",
       "<polygon fill=\"#399de5\" stroke=\"#000000\" points=\"949.5,-774.5 857.5,-774.5 857.5,-706.5 949.5,-706.5 949.5,-774.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"903.5\" y=\"-759.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"903.5\" y=\"-744.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 3</text>\n",
       "<text text-anchor=\"middle\" x=\"903.5\" y=\"-729.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [0, 3]</text>\n",
       "<text text-anchor=\"middle\" x=\"903.5\" y=\"-714.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 27&#45;&gt;31 -->\n",
       "<g id=\"edge31\" class=\"edge\">\n",
       "<title>27&#45;&gt;31</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M806.613,-817.8796C821.4826,-806.0038 837.664,-793.0804 852.4683,-781.2568\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"854.9046,-783.7904 860.5342,-774.8149 850.5362,-778.3207 854.9046,-783.7904\"/>\n",
       "</g>\n",
       "<!-- 29 -->\n",
       "<g id=\"node30\" class=\"node\">\n",
       "<title>29</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"800.5,-655.5 708.5,-655.5 708.5,-587.5 800.5,-587.5 800.5,-655.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-640.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-625.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 1</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-610.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"754.5\" y=\"-595.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 28&#45;&gt;29 -->\n",
       "<g id=\"edge29\" class=\"edge\">\n",
       "<title>28&#45;&gt;29</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M754.5,-698.8796C754.5,-688.2134 754.5,-676.7021 754.5,-665.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"758.0001,-665.8149 754.5,-655.8149 751.0001,-665.815 758.0001,-665.8149\"/>\n",
       "</g>\n",
       "<!-- 30 -->\n",
       "<g id=\"node31\" class=\"node\">\n",
       "<title>30</title>\n",
       "<polygon fill=\"#399de5\" stroke=\"#000000\" points=\"910.5,-655.5 818.5,-655.5 818.5,-587.5 910.5,-587.5 910.5,-655.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"864.5\" y=\"-640.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"864.5\" y=\"-625.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 1</text>\n",
       "<text text-anchor=\"middle\" x=\"864.5\" y=\"-610.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [0, 1]</text>\n",
       "<text text-anchor=\"middle\" x=\"864.5\" y=\"-595.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 28&#45;&gt;30 -->\n",
       "<g id=\"edge30\" class=\"edge\">\n",
       "<title>28&#45;&gt;30</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M792.9727,-698.8796C803.6453,-687.3337 815.2333,-674.7976 825.9125,-663.2446\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"828.5625,-665.534 832.7803,-655.8149 823.4222,-660.7825 828.5625,-665.534\"/>\n",
       "</g>\n",
       "<!-- 33 -->\n",
       "<g id=\"node34\" class=\"node\">\n",
       "<title>33</title>\n",
       "<polygon fill=\"#e58139\" stroke=\"#000000\" points=\"938,-893.5 839,-893.5 839,-825.5 938,-825.5 938,-893.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"888.5\" y=\"-878.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"888.5\" y=\"-863.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 12</text>\n",
       "<text text-anchor=\"middle\" x=\"888.5\" y=\"-848.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [12, 0]</text>\n",
       "<text text-anchor=\"middle\" x=\"888.5\" y=\"-833.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 0</text>\n",
       "</g>\n",
       "<!-- 32&#45;&gt;33 -->\n",
       "<g id=\"edge33\" class=\"edge\">\n",
       "<title>32&#45;&gt;33</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M889.8005,-936.8796C889.6212,-926.2134 889.4278,-914.7021 889.2462,-903.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"892.7444,-903.7547 889.0767,-893.8149 885.7454,-903.8724 892.7444,-903.7547\"/>\n",
       "</g>\n",
       "<!-- 34 -->\n",
       "<g id=\"node35\" class=\"node\">\n",
       "<title>34</title>\n",
       "<polygon fill=\"#4fa8e8\" stroke=\"#000000\" points=\"1083,-901 956,-901 956,-818 1083,-818 1083,-901\"/>\n",
       "<text text-anchor=\"middle\" x=\"1019.5\" y=\"-885.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 0.5</text>\n",
       "<text text-anchor=\"middle\" x=\"1019.5\" y=\"-870.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.18</text>\n",
       "<text text-anchor=\"middle\" x=\"1019.5\" y=\"-855.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 20</text>\n",
       "<text text-anchor=\"middle\" x=\"1019.5\" y=\"-840.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [2, 18]</text>\n",
       "<text text-anchor=\"middle\" x=\"1019.5\" y=\"-825.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 32&#45;&gt;34 -->\n",
       "<g id=\"edge34\" class=\"edge\">\n",
       "<title>32&#45;&gt;34</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M935.6179,-936.8796C945.674,-927.6031 956.423,-917.6874 966.7554,-908.1559\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"969.2124,-910.6511 974.1895,-901.2981 964.4661,-905.506 969.2124,-910.6511\"/>\n",
       "</g>\n",
       "<!-- 35 -->\n",
       "<g id=\"node36\" class=\"node\">\n",
       "<title>35</title>\n",
       "<polygon fill=\"#9ccef2\" stroke=\"#000000\" points=\"1064.5,-774.5 972.5,-774.5 972.5,-706.5 1064.5,-706.5 1064.5,-774.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1018.5\" y=\"-759.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.444</text>\n",
       "<text text-anchor=\"middle\" x=\"1018.5\" y=\"-744.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 3</text>\n",
       "<text text-anchor=\"middle\" x=\"1018.5\" y=\"-729.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 2]</text>\n",
       "<text text-anchor=\"middle\" x=\"1018.5\" y=\"-714.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 34&#45;&gt;35 -->\n",
       "<g id=\"edge35\" class=\"edge\">\n",
       "<title>34&#45;&gt;35</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M1019.1502,-817.8796C1019.0606,-807.2134 1018.9639,-795.7021 1018.8731,-784.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1022.3724,-784.7851 1018.7884,-774.8149 1015.3726,-784.844 1022.3724,-784.7851\"/>\n",
       "</g>\n",
       "<!-- 36 -->\n",
       "<g id=\"node37\" class=\"node\">\n",
       "<title>36</title>\n",
       "<polygon fill=\"#45a3e7\" stroke=\"#000000\" points=\"1210,-782 1083,-782 1083,-699 1210,-699 1210,-782\"/>\n",
       "<text text-anchor=\"middle\" x=\"1146.5\" y=\"-766.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">告警类指标 &lt;= 1.5</text>\n",
       "<text text-anchor=\"middle\" x=\"1146.5\" y=\"-751.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.111</text>\n",
       "<text text-anchor=\"middle\" x=\"1146.5\" y=\"-736.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 17</text>\n",
       "<text text-anchor=\"middle\" x=\"1146.5\" y=\"-721.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 16]</text>\n",
       "<text text-anchor=\"middle\" x=\"1146.5\" y=\"-706.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 34&#45;&gt;36 -->\n",
       "<g id=\"edge36\" class=\"edge\">\n",
       "<title>34&#45;&gt;36</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M1063.9184,-817.8796C1073.8186,-808.6031 1084.4009,-798.6874 1094.5731,-789.1559\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1096.9879,-791.6896 1101.892,-782.2981 1092.2016,-786.5816 1096.9879,-791.6896\"/>\n",
       "</g>\n",
       "<!-- 37 -->\n",
       "<g id=\"node38\" class=\"node\">\n",
       "<title>37</title>\n",
       "<polygon fill=\"#399de5\" stroke=\"#000000\" points=\"1117.5,-655.5 1025.5,-655.5 1025.5,-587.5 1117.5,-587.5 1117.5,-655.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1071.5\" y=\"-640.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"1071.5\" y=\"-625.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 7</text>\n",
       "<text text-anchor=\"middle\" x=\"1071.5\" y=\"-610.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [0, 7]</text>\n",
       "<text text-anchor=\"middle\" x=\"1071.5\" y=\"-595.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 36&#45;&gt;37 -->\n",
       "<g id=\"edge37\" class=\"edge\">\n",
       "<title>36&#45;&gt;37</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M1120.2686,-698.8796C1113.269,-687.7735 1105.692,-675.7513 1098.6444,-664.5691\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1101.42,-662.4087 1093.1271,-655.8149 1095.498,-666.1411 1101.42,-662.4087\"/>\n",
       "</g>\n",
       "<!-- 38 -->\n",
       "<g id=\"node39\" class=\"node\">\n",
       "<title>38</title>\n",
       "<polygon fill=\"#4fa8e8\" stroke=\"#000000\" points=\"1305,-663 1136,-663 1136,-580 1305,-580 1305,-663\"/>\n",
       "<text text-anchor=\"middle\" x=\"1220.5\" y=\"-647.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">电量趋势下降指标 &lt;= 5.5</text>\n",
       "<text text-anchor=\"middle\" x=\"1220.5\" y=\"-632.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.18</text>\n",
       "<text text-anchor=\"middle\" x=\"1220.5\" y=\"-617.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 10</text>\n",
       "<text text-anchor=\"middle\" x=\"1220.5\" y=\"-602.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 9]</text>\n",
       "<text text-anchor=\"middle\" x=\"1220.5\" y=\"-587.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 36&#45;&gt;38 -->\n",
       "<g id=\"edge38\" class=\"edge\">\n",
       "<title>36&#45;&gt;38</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M1172.3816,-698.8796C1177.8142,-690.1434 1183.5992,-680.8404 1189.2053,-671.8253\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1192.1993,-673.6383 1194.5079,-663.2981 1186.2549,-669.9418 1192.1993,-673.6383\"/>\n",
       "</g>\n",
       "<!-- 39 -->\n",
       "<g id=\"node40\" class=\"node\">\n",
       "<title>39</title>\n",
       "<polygon fill=\"#6ab6ec\" stroke=\"#000000\" points=\"1211.5,-536.5 1119.5,-536.5 1119.5,-468.5 1211.5,-468.5 1211.5,-536.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1165.5\" y=\"-521.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.32</text>\n",
       "<text text-anchor=\"middle\" x=\"1165.5\" y=\"-506.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 5</text>\n",
       "<text text-anchor=\"middle\" x=\"1165.5\" y=\"-491.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [1, 4]</text>\n",
       "<text text-anchor=\"middle\" x=\"1165.5\" y=\"-476.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 38&#45;&gt;39 -->\n",
       "<g id=\"edge39\" class=\"edge\">\n",
       "<title>38&#45;&gt;39</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M1201.2637,-579.8796C1196.1814,-568.8835 1190.6841,-556.9893 1185.5595,-545.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1188.7324,-544.4239 1181.3598,-536.8149 1182.3782,-547.3607 1188.7324,-544.4239\"/>\n",
       "</g>\n",
       "<!-- 40 -->\n",
       "<g id=\"node41\" class=\"node\">\n",
       "<title>40</title>\n",
       "<polygon fill=\"#399de5\" stroke=\"#000000\" points=\"1321.5,-536.5 1229.5,-536.5 1229.5,-468.5 1321.5,-468.5 1321.5,-536.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1275.5\" y=\"-521.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">gini = 0.0</text>\n",
       "<text text-anchor=\"middle\" x=\"1275.5\" y=\"-506.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">samples = 5</text>\n",
       "<text text-anchor=\"middle\" x=\"1275.5\" y=\"-491.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">value = [0, 5]</text>\n",
       "<text text-anchor=\"middle\" x=\"1275.5\" y=\"-476.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">class = 1</text>\n",
       "</g>\n",
       "<!-- 38&#45;&gt;40 -->\n",
       "<g id=\"edge40\" class=\"edge\">\n",
       "<title>38&#45;&gt;40</title>\n",
       "<path fill=\"none\" stroke=\"#000000\" d=\"M1239.7363,-579.8796C1244.8186,-568.8835 1250.3159,-556.9893 1255.4405,-545.9015\"/>\n",
       "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"1258.6218,-547.3607 1259.6402,-536.8149 1252.2676,-544.4239 1258.6218,-547.3607\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x1a279cee50>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dot_data = tree.export_graphviz(clf,\n",
    "                     feature_names = X_train.columns,\n",
    "                     class_names = ['0', '1'],\n",
    "                     filled = True,\n",
    "                    )\n",
    "graph = graphviz.Source(dot_data)\n",
    "graph.render('S2B1_HW_decisionTree')\n",
    "graph\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (3) Confusion Matrix \n",
    "- 生成混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[71,  5],\n",
       "       [ 6,  6]])"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cm = confusion_matrix(y_true=y_test, y_pred=Y_pred)\n",
    "display(cm)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (4) Metrics\n",
    "- 计算预测准确率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.92      0.93      0.93        76\n",
      "           1       0.55      0.50      0.52        12\n",
      "\n",
      "    accuracy                           0.88        88\n",
      "   macro avg       0.73      0.72      0.72        88\n",
      "weighted avg       0.87      0.88      0.87        88\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(classification_report(y_true=y_test, y_pred=Y_pred))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (5) Cross Validation\n",
    "- 进行交叉验证"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average AUC: 0.8880952380952382\n",
      "Std of AUC: 0.08988982926836435\n"
     ]
    }
   ],
   "source": [
    "results = CVS(clf, X_train, y_train, cv=5, scoring='roc_auc')\n",
    "print(f'Average AUC: {np.mean(results)}')\n",
    "print(f'Std of AUC: {np.std(results)}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (6) ROC Curve\n",
    "- 画出“受试者工作特征”曲线，即ROC曲线\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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2fgbH+cll1zSEFt2djannHIKUVHfVGeLFy/mZz/7GU899RSrVq3izDPPbPNv/8c//pE77riDkSNHAhAVFcX111/v47+c5u3bt4+ioqKG/V9xxRW88cYbzJw584hyIkJpaSk1NTWUl5cTExPT8DcpKSnh4YcfZsGCBVx00UUN34mPjyctLY3Vq1dz2mmnHVOcYZUIDpVVsfbLA9w4+YRAh2K6sPT0dOrq6vB4PLz55pskJSWxZs0aKisrmTBhAtOnTyc3N5c33niDTz/9lPj4eA4cOHDENg4cOMA///lPcnNzEREOHTrUZD9XXHEFjz/+OOeccw7z5s3j7rvv5tFHHwWcpo3Vq1fzzjvvcPfdd7fa3BQXF8dHH31EYWEhF154IR988AHdu3fnD3/4Aw8//DC33347N910E2+++SYpKSm8/PLL3HHHHTz22GMUFxczdOjQNn8n999/P71796a2tpapU6eyYcMGBgwY0Owx3nPPPSxZsoT+/fs3Oe7U1FSeeeYZ5s+fz9tvv33EusLCQu67774m8c+bN++I42xs5cqVnHrqqQ3L5eXlZGVl8b//+78cOnSIxYsX+5QINm3axC9/+cs2yy1dupRf/OIXTT6Pj4/n448/PuKzr776igEDBjQsDxgwgK+++qrJd+fMmcObb75Jv379KCsr45FHHqF3b2do/N/97nf88pe/JD4+vsn3MjMzWbFihSWC9vhwawF1ClNsEpouqT1n7v6mbjvu+++/z4YNG3j11VcBOHz4MNu2beODDz7gqquuavjPWf+ftl5iYiJxcXFcffXVzJo164h26PrtHDp0iHPOOQeAK6+8kh/84AcN6y+88EIATj31VHbt2tVqrBdffDEAq1atYvPmzUyYMAGAqqoqzjzzTLZs2cKmTZs499xzAaitraVfv36oqs89TP7xj3+wYMECampq2LdvH5s3b2b06NHNHuOECROYO3cuF110UcNx+KKl+BsfZ2P79u1j1KhRDctvv/02kydPJj4+nu9///vce++9PPLII0RGRjZ7vO3tZTN58mTWr1/vU9n6f0dt7W/16tVERkayd+9eDh48yMSJE5k2bRpFRUVs376dRx55pNl/B6mpqeTm5rYr/ub4NRGIyAzgMSASeEZVH2y0Xtz15wNlwFxV/cxf8WTleEjuEcPY/kn+2oUJATt27CAyMpLU1FRU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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "clf = tree.DecisionTreeClassifier(criterion='entropy', \n",
    "    #                               max_depth=8,\n",
    "                                  min_samples_leaf=15,\n",
    "    #                               min_samples_split=40\n",
    "                                 )\n",
    "clf.fit(X_train, y_train)\n",
    "plot_roc_curve(clf, X_test, y_test)\n",
    "plt.title('ROC Curve')\n",
    "plt.show();\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
